<?php

namespace app\admin\controller\yxerp;

use app\common\controller\Backend;
use think\facade\Db;
use think\facade\Validate;

/**
 * 企业基础信息管理
 */
class Company extends Backend
{
    /**
     * 不需要验证登录的方法
     * @var array
     */
    protected $noNeedLogin = [];

    /**
     * 不需要鉴权的方法
     * @var array
     */
    protected $noNeedPermission = [];

    /**
     * 模型对象
     * @var object
     */
    protected $model = null;

    /**
     * 初始化
     */
    protected function initialize()
    {
        parent::initialize();
        $this->model = Db::name('yxerp_company');
    }

    /**
     * 查看企业基础信息
     */
    public function index()
    {
        $row = $this->model->find();
        if (!$row) {
            // 如果没有记录，初始化一条
            $this->model->insert([
                'company_name' => '云象科技有限公司',
                'company_phone' => '',
                'company_email' => '',
                'company_address' => '',
                'create_time' => time(),
                'update_time' => time(),
            ]);
            $row = $this->model->find();
        }
        
        return $this->success('获取成功', $row);
    }

    /**
     * 更新企业基础信息
     */
    public function update()
    {
        $row = $this->request->post('row/a');
        
        // 数据验证
        $validate = Validate::rule([
            'company_name' => 'require|max:100',
            'company_phone' => 'max:20',
            'company_email' => 'email|max:100',
            'company_address' => 'max:255',
        ]);
        
        $result = $validate->check($row);
        if (true !== $result) {
            return $this->error($validate->getError());
        }
        
        // 添加更新时间
        $row['update_time'] = time();
        
        // 查询企业信息记录
        $company = $this->model->find();
        
        // 更新企业信息
        if ($company) {
            $this->model->where('id', $company['id'])->update($row);
        } else {
            // 如果没有记录，添加一条
            $row['create_time'] = time();
            $this->model->insert($row);
        }
        
        return $this->success('更新成功');
    }
} 